home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO001.dsk
/
FIN
/
BOND.ANALYSIS.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
4KB
|
84 lines
0 HOME
5 SPEED= 175
6 PRINT : PRINT "DESCRIPTION & USES ON PROGRAM START AT LINE 555 TO 600";
7 PRINT : PRINT : PRINT
8 PRINT : PRINT "ENTER YES, NO, OR DATA TO START";
9 PRINT : PRINT : PRINT
15 REM THIS BASIC PROGRAM COMPUTES THE PRICE AND ACCRUED INTEREST
20 REM OF A BOND
22 REM
25 REM **********************************************
30 REM
100 REM THIS PROGRAM COMPUTES THE PRICE AND ACCRUED INTEREST FOR
110 REM A BOND WITH A COUPON OF C DOLLARS A YEAR, REDEMPTION
120 REM AT R DOLLARS, AND A MATURITY OF M1 YEARS AND M2
130 REM MONTHS (M2 NEED NOT BE AN INTEGER), SELLING TO YIELD Y.
133 REM ********** ************** ************
138 REM LINE 150 CONTAINS SAMPLE DATA STATEMENTS.
140 REM ************* MAIN PROGRAM **************
145 REM
150 DATA 6,100,12,5,.055
160 REM
170 PRINT "DO YOU WANT INSTRUCTIONS FOR ENTERING DATA";
180 INPUT A$
190 PRINT
200 IF A$ = "DATA" THEN 420
210 IF A$ = "NO" THEN 370
220 PRINT "ENTER THE FOLLOWING ITEMS OF DATA"
230 PRINT
240 PRINT "ITEM 1"; TAB( 12);"ANNUAL COUPON IN DOLLARS"; TAB( 40);
250 INPUT C
260 PRINT
270 PRINT "ITEM 2"; TAB( 12);"PROCEEDS ON REDEMPTION"; TAB( 40);
280 INPUT R
290 PRINT
300 PRINT "ITEMS 3 & 4"; TAB( 12);"MATURITY IN YEARS, MONTHS"; TAB( 40);
310 INPUT M1,M2
320 PRINT
330 PRINT "ITEM 5"; TAB( 12);"YIELD TO MATURITY"; TAB( 40)
340 INPUT Y
350 PRINT
360 GOTO 440
370 PRINT "ENTER ITEMS 1 THROUGH 5";
380 INPUT C,R,M1,M2,Y
390 PRINT
400 GOTO 440
410 REM
420 READ C,R,M1,M2,Y
430 DATA 6,100,12,5,.055
440 PRINT "COUPON";C,"REDEMPTION AT";R
450 PRINT "MATURITY",M1;"YEARS",M2;"MONTHS"
460 PRINT "YIELD";Y
470 PRINT
478 REM NUMBER OF COUPON PERIODS TO MATURITY
480 LET M3 = M1 *2 +M2/6
488 REM NUMBER OF WHOLE COUPON PERIODS TO MATURITY
490 LET M4 = INT(M3)
498 REM TIME TO NEXT COUPON
500 LET M5 = M3 -M4
508 REM PRESENT VALUE OF FUTURE COUPONS
510 LET V1 = C/2 *(1 -(1 +Y/2) ^( -M4))/(Y/2)
518 REM P.V. OF PRINCIPAL AT TIME OF NEXT COUPON
520 LET V2 = R/(1 +Y/2) ^(M4)
528 REM P.V. OF BOND NOW
530 LET P = (V1 +V2 +C/2)/((1 +Y/2) ^M5) -(C/2) *(1 -M5)
540 PRINT "PRICE",P,"ACCR INT",C/2 *(1 -M5)
550 END
560 REM **** BOND PROGRAM *****
570 REM DESCRIPTION
571 REM THIS PROGRAM IS USED TO COMPUTE THE PRICE & ACCRUED INTEREST FOR BOND ACCOUNTING
572 REM THE ACQUISITION COST OF A BOND INCLUDES ITS PURCHASE PRICE PLUS ITS ACCRUED INTEREST.
573 REM IF THE PURCHASER HOLDS THE BOND UNTIL IT IS MATURE HE EXPECTS TO RECEIVE INTEREST PAYMENTS ON A REGULAR BASIS.
574 REM THESE INTEREST PAYMENTS ARE CALLED "COUPON" PAYMENTS.
575 REM AT MATURITY THE PRICE OF THE BOND IS CALLED "PAR" AND IS THE SAME AS THE FACE VALUE OF THE BOND.
576 REM IN THE EVENT THE TERMS OF THE BOND ALLOW IT TO BE CALLED BEFORE MATURITY THE PURCHASER WILL ONLY RECEIVE INTEREST UP TO THE CALL DATE.
577 REM USERS
578 REM ANYONE WHO BUYS, SELLS, OR TRADES IN BONDS OF ANY NATURE COULD USE THIS PROGRAM.
579 REM THIS WOULD INCLUDE BUSINESSMEN, WORKERS, HOUSEWIVES, RETIREES, ALMOST ANYONE WHO HAS MONEY TO INVEST.
580 REM INSTRUCTIONS
581 REM TYPE "RUN"; THE PROGRAM WILL THEN ASK YOU IF YOU WANT INSTRUCTIONS.
582 REM THERE ARE THREE POSSIBLE VALID RESPONSES TO THIS PROMPT.
583 REM 1. YES - IT WILL PRINT A DESCRIPTION OF THE DATA INPUTS.
584 REM 2. NO - IT WILL ASK FOR THE FIVE INPUTS.
585 REM 3. DATA - IT WILL PRINT WHAT DATA IS PRESENT IN THE PROGRAM.
586 REM ALL DATA IS EXPRESSES PER HUNDRED DOLLARS PER BOND VALUE.